import axios from './axios'

// 认证相关API接口
export const authApi = {
  /**
   * 用户登录
   * @param {Object} data - 登录数据
   * @param {string} data.phone - 手机号
   * @param {string} data.password - 密码
   * @returns {Promise} 登录结果
   */
  login(data) {
    return axios.post('/auth/login', data)
  },

  /**
   * 用户注册
   * @param {Object} data - 注册数据
   * @param {string} data.phone - 手机号
   * @param {string} data.code - 验证码
   * @param {string} data.password - 密码
   * @returns {Promise} 注册结果
   */
  register(data) {
    return axios.post('/auth/register', data)
  },

  /**
   * 获取验证码
   * @param {string} phone - 手机号
   * @returns {Promise} 验证码发送结果
   */
  getVerificationCode(phone) {
    return axios.post('/auth/code', { phone })
  },

  /**
   * 忘记密码
   * @param {Object} data - 忘记密码数据
   * @param {string} data.phone - 手机号
   * @param {string} data.code - 验证码
   * @param {string} data.newPassword - 新密码
   * @returns {Promise} 密码重置结果
   */
  forgetPassword(data) {
    return axios.post('/auth/forget-password', data)
  },

  /**
   * 获取用户信息
   * @returns {Promise} 用户信息
   */
  getUserInfo() {
    return axios.get('/auth/user-info')
  },

  /**
   * 更新用户信息
   * @param {Object} data - 用户信息
   * @returns {Promise} 更新结果
   */
  updateUserInfo(data) {
    return axios.put('/auth/user-info', data)
  },

  /**
   * 微信登录
   * @param {string} code - 微信授权code
   * @returns {Promise} 登录结果
   */
  wechatLogin(code) {
    return axios.post('/auth/wechat-login', { code })
  }
}

export default authApi